/**
 自定义与类同名的构造函数时，可以有参数
 注意点：
 1.与类同名的构造函数只能有一个
 2. 如果自定义了该类名构造函数，那么默认的构造函数就失效
 */

void main() {
  // 1.1 创建对象
  Person p = new Person('李四', 25);
  // 1.2 给对象添加属性
  // p.name = '张三';
  // p.age = 18;
  // 1.3 使用对象的属性和方法
  print({p.name, p.age});
  p.eat();
}

// 1. 定义Person类
class Person {
  // 每一个类中都有一个默认的构造函数
  // 构造函数的名称和类同名
  // 如果构造函数没有参数, 则默认隐藏
  // Person(String name, int age) {
  //   this.name = name;
  //   this.age = age;
  // }

  // 简写: 如果参数和属性同名, 可以简写
  Person(this.name, this.age);

  // 1.1 属性
  String? name;
  int? age;

  // 1.2 方法
  void eat() {
    print('我是干饭人');
  }
}
